package com.ccdc.cbpc.bigdata.common.enums;

/**
 * 基本状态枚举，参考HTTP状态码的语义
 * 来源模型平台并扩展
 * @author dong.zhang8
 * @date 2021-07-15
 */
public enum BaseStatusEnum {
    /***/
    VALIDATE(1,"有效"), // 有效
    INVALID(0,"无效"), // 无效
    ;

    private final byte code;
    private final String desc;

    BaseStatusEnum(int code, String desc) {
        this.code = (byte) code; // 下转型越界风险
        this.desc = desc;
    }

    public byte getCode() {
        return code;
    }

    public String getDesc() {
        return desc;
    }

    /**
     * 根据code获取对应状态枚举
     * @param code
     * @return 当无效状态是返回null
     */
    public static BaseStatusEnum parse(byte code){
        for(BaseStatusEnum item:BaseStatusEnum.values()){
            if(item.getCode() == code) {
                return item;
            }
        }
        return null;
    }
}
